DYNAMIC DOCUMENTS

Istar was originally designed (in its KBTools days) to assemble 
construction contracts intelligently - to write a contract for two parties 
that reflected their agreed intentions.  It is in the process of being 
generalized to allow it to compile more complex types of documents.

      ** The facility that you have now (Version 1.05) is not particularly
useful as it stands; it is merely provided to allow you to get some ideas, 
and also to comment on the way the facility should go.  Future versions 
should have a 'real' facility.  Please email any ideas at 
Istar@basden.demon.co.uk. **

      ** These instructions are only brief; fuller ones will be made
available at the earliest opportunity. **

      Documents are composed of pieces of text - titles, headings,
chapters, sections, sub-sections, paragraphs, sentences, etc.  A dynamic 
document is made up to suit your requirements, from selected pieces like 
these.  Istar allows you to specify what pieces could be selected, and 
under what conditions.

      What you need for a dynamic document are the following objects in the
knowledge base:

      1.  A number of text piece items to be optionally included in the
      document, each of which has an attribute 'Included' (called 'Contract
      Meaning' in Version 1.05 but that will change; they are expressed on
      the easel by a box group comprising two boxes: a thinner one on top
      expressing the text piece itself and a normal sized 'Included'
      below),

      2.  As antecedent of each Included attribute, an inference net of
      knowledge that allows the truth value of Included to be inferred,

      3.  A Document item,

and the following steps to make up the document and display it:

      1.  Reset and infer all the Included attributes (usually they are all
      linked into a goal list, allowing the user to hit the Reset Goals and
      Infer Goals buttons); the backwards-forwards chaining cycle will
      ensure all questions are asked.

      2.  'Make' the document - which involves all the text pieces to be
      selected being linked into the document.

      3.  'Show' the document, which brings it up on an easel.  You can
      then save it as HTML, IFF or Post Script.

You might then find that the clauses of the document are in a random order 
- not much good.  So, there are two ways to alter the order:

      1.  Put Dependency relationships between the text piece item
      (thinner) boxes in the text piece box groups (does not always work
      properly yet),

      2.  When you have 'made' the document, you can (laboriously) change
      their order by selecting a clause and pressing 'To 1'.
